login:        password:      
Combats Scrolls
Rambler's Top100
Гость БК
Profile Friend page
ru
updated 26.09.09 00:38
12-06-09 @ 21:42

Кей Лацитис Open user info Open user photogallery
Проблема кеширования изображений
В данной статье я хочу рассмотреть процедуру включения кеширования изображений в клиенте AutoCombats http://www.autocombats.info при работе в ОС MS Windows 7 RC1 x64 http://www.microsoft.com Встроенное средство кеширования АК при работе в данной ОС, к сожалению, приводит к периодическим зависаниям клиента. Попытки использовать различные версии библиотеки urlmon(6).dll не принесли положительного результата. А играть в БК через GPRS без использования кеширования было не совсем удобно. Было найдено следующее решение: использовать отдельную программу, для кеширования изображений.
Существует множество программ, организующих локальный кеширующий прокси сервер. Я остановил свой выбор на HandyCache. Программа бесплатна, нетребовательна к ресурсам, имеет подробную документацию. Итак приступим к установке и настройке.
С сайта программы http://www.handycache.ru/ скачиваем дистрибутив http://handycache.ru/component/option,com_remository/Itemid,2/func,fileinfo/id,28/. Устанавливаем программу из дистрибутива, все параметры оставляем по умолчанию. Если программа сама не запустилась, запускаем ее из меню Пуск. Теперь можно приступить к настройкам.


Переходим на вкладку настройки, и слева выбираем Общие -> Вид и расставляем галочки как показано на рисунке



Здесь главное поставить галочки "Стартовать вместе с Windows" и "Сворачивать вместо закрытия" иначе нам придется запускать HandyCache каждый раз, когда мы хотим поиграть в БК. Идем дальше.

Выбираем слева Кеш -> Преобразование URL и снимаем сверху галочку "Разрешен" как показано на следующем рисунке:



Тем самым мы исключили вмешательство прокси сервера в передаваемые URL (нам ведь только картинки надо кешировать, а не оптимизировать работу БК). Идем дальше.


Выбираем слева Списки -> Белый Здесь необходимо создать только одно правило: " Правило: +* Исключение: +*img.combats* " и расставляем напротив правила все галочки. Все остальные правила удаляем, и ставим сверху галочку "Разрешен". В итоге у нас должно получится:



Это правило позволит проходить через наш прокси без изменения всем соединениям, кроме обращений к серверу картинок БК. Нажимаем справа иконку "Сохранить список". Идем дальше.

Выбираем слева Списки -> Черный и снимаем сверху галочку "Разрешен" как показано на следующем рисунке:



Тем самым мы отключили встроенное средство резки баннеров и прочего мусора. На сервере картинок БК ничего подобного нет. Нажимаем справа иконку "Сохранить список". Идем дальше

Выбираем слева Списки -> Запись в кеш. Создаем только одно правило: " Правило: .* Исключение: +*clock.swf* " Остальные правила удаляем, сверху ставим галочки "Разрешен" и "Только для Get-запросов". В результате мы должны получить



Теперь мы пишем в наш локальный кеш все содержимое сервера картинок БК, кроме часов в правом нижнем углу экрана. Нажимаем справа иконку "Сохранить список". Идем дальше

Выбираем слева Списки -> Не обновлять. УДАЛЯЕМ ВСЕ ПРАВИЛА. Создаем только одно правило: " Правило: (.)*\.(jpg|jpeg|png|gif|bmp|ico) ". Сверху ставим галочки "Разрешен" и "Только для Get-запросов". В результате мы должны получить



Тем самым мы всегда берем изображения из локального кеша (если они конечно там есть) а не с сервера БК. Таким образом мы загружаем каждую картинку только один раз. Идем дальше

Выбираем слева Списки -> Только из кеша и снимаем сверху галочку "Разрешен" как показано на следующем рисунке:



Эта настройка позволит нам записывать в кеш не обнаруженные там изображения. Нажимаем справа иконку "Сохранить список". Идем дальше (осталось совсем немного)

Выбираем слева Списки -> Переадресация Создаем только одно правило: " Правило: +img.combats.ru Замена: img.combats.com " ставим галочки "Заменить все" и "Обязательный". Остальные правила удаляем, сверху ставим галочку "Разрешен". В результате мы должны получить



Несмотря на то что БК уже давно переехал в зону .com в коде страниц еще встречаются упоминания зоны .ru Данная замена позволит нам кешировать все обращения к картинкам в зоне .ru в ту же папку, что и картинки в зоне .com. Нажимаем справа иконку "Сохранить список". Все, настройка закончена. Остался последний штрих. Делаем правый клик по иконке HandyCache в трее и расставляем галочки как показано на рисунке:



после чего, в том же меню нажимаем кнопку "Сохранить настройки".

Теперь нам осталось только настроить AutoCombats на использование нашего прокси. Отрываем AutoCombats идем в Сервис -> Параметры -> Подключение и выбираем "Использовать прокси-сервер" 127.0.0.1:8080, как показано на рисунке:



Теперь выбираем слева Кеширование и снимаем галку "Выполнять кеширование изображений с сервера БК. Выглядеть это должно так:



Нажимаем OK, перезапускаем AutoCombats. Поздравляю. Теперь Autocombats работает через кеширующий прокси сервер. Если у Вас уже есть сохранненый кеш картинок БК (а он обычно лежит в папке Cache в директории, куда установлен AutoCombats) можно скопировать его в кеш нашего прокси-сервера по адресу <Директория установки HandyCache>\Cache\img.combats.com\i\

Вот собственно и все. Автор выражает огромную благодарность автору AutoCombats Gorby DS [] и своему соклану Маг-Хаоса [12] который оказал неоценимую помощь, во время тестирования данного решения в подземельях Эмеральда.


UPDATE: БЫла обнаружена проблема, что при использовании локального прокси Windows ограничивает кол-во одновременных соединений к серверу до одного. Что бы избежать данного негативного эффекта создаем reg файл следующего содержания:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl]

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_MAXCONNECTIONSPER1_0SERVER]
"AutoCombats.exe"=dword:00000009

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_MAXCONNECTIONSPERSERVER]
"AutoCombats.exe"=dword:00000009

или качаем его отсюда: http://www.markelov.info/IE8-MaxConnectionsPerServer.reg
Запустив этот файл и внеся изменения в реестр, мы установим кол-во одновременных подключений равное 9.


UPDATE В связи с подписанием нового пользовательского соглашения сообщаю, что вышеописанный кеширующий прокси сервер легко подключается к любой версии IE через меню Internet Options - Connections - Lan settings - Proxy Server. Активируем использование прокси сервера, адрес 127.0.0.1 порт 8080

Я думаю, что это: Scrolls.multiLike:)

view mode: linear threads
Smiles disabled in this post.
View disscussion »
Total disscussion threads: 1 Pages: 1
«« « 1 » »»

Post reply | Post reply with quote
Bazelius Open user info Open user photogallery
27-08-09 @ 02:51
copy link to clipboard
А как сделать что бы кешировались изображения и со скроллов и прочих любимых клан сайтов?
Post reply Ответить с цитированием
Кей Лацитис Open user info Open user photogallery
29-08-09 @ 15:55
Re:
copy link to clipboard
Например настроить Белый Список так:
Click to open image http://img.scrolls.combats.com/ph/1184386452/src/tns6JIbEiqBAbybJBNuQ4eBfR3WdKqC5LsYJrEXg.jpg in new window

Теперь кешируются картинки со всех сайтов, кроме городов бк (скроллы, форум, img.combats.com - все кеширутся). Но тут надо быть очень внимательным, ибо на некоторых сайтах могут быть глюки. Так например на сайте паладинов могут быть проблемы с отрытием инфы персонажей, приходится в переадресацию добавлять вот правило:
Правило: +http://www.paladins.ru/cache_image.php?T=0&I= Замена <Пусто>
Post reply Ответить с цитированием
Bazelius Open user info Open user photogallery
29-08-09 @ 16:10
copy link to clipboard
Мне бы наоборот: иметь возможность указать адреса с которых я хотел бы кешировать - для этого надо только прописать их адреса в белый список и всё?
Post reply Ответить с цитированием
Кей Лацитис Open user info Open user photogallery
29-08-09 @ 16:21
Re:
copy link to clipboard
Так, тут думать надо. Белый список это то что HC не кеширует. Т.е. тебе нужно сделать правило типа
не кешировать все, а в исключение добавить те сайты, которые надо кешировать.... Хитрая регэкспа должна получится. Буду думать.
Post reply Ответить с цитированием
Bazelius Open user info Open user photogallery
29-08-09 @ 16:45
copy link to clipboard
Ну неужели нету простого пути - указал что кешировать и только оно и будет кешироваться, иначе эту программу делал какой то не очень нормальный человек.
Post reply Ответить с цитированием
Кей Лацитис Open user info Open user photogallery
09-09-09 @ 23:11
Re:
copy link to clipboard
Извиняюсь за долгое отсутсвие, было много дел в реале. Значит так: для того что бы включить кеширование для определенного набора доменов, например:
img.combats.com
img.combats.ru
domain1.info
domain2.biz
В Белом спсике создаем только одно правило +* а в исключение к нему прописываем:
(.)*(img\.combats\.com|img\.combats\.ru|domain1\.info|domain2\.biz)(.)*
Post reply Ответить с цитированием
Bazelius Open user info Open user photogallery
09-09-09 @ 23:21
copy link to clipboard
И оно будет так же продолжать работать как и раньше, только будет ешё и кешировать новый сервер?
Post reply Ответить с цитированием
Кей Лацитис Open user info Open user photogallery
09-09-09 @ 23:27
Re:
copy link to clipboard
именно так
Post reply Ответить с цитированием
Bazelius Open user info Open user photogallery
10-09-09 @ 01:36
copy link to clipboard
Тогда отлично, спасибо большое.
А что в надписи означает "domain1\.info|domain2\.biz" ?
Post reply Ответить с цитированием
Bazelius Open user info Open user photogallery
10-09-09 @ 02:42
Re: Re:
copy link to clipboard
Что то оно не очень работает. Вначале пытался закешировать рисунки со скроллов: написал
(.)*(img\.scrolls\.combats\.com|img\.scrolls\.combats\.ru|domain1\.info|domain2\.biz)(.)*
поставил все галочки, но в кеше ничего не появляется.
Post reply Ответить с цитированием
Гость БК
10-09-09 @ 10:33
Re: Re: Re:
copy link to clipboard
Вечером посмотрю, почему не работает...
Кей Лацитис
Post reply Ответить с цитированием
Кей Лацитис Open user info Open user photogallery
10-09-09 @ 19:13
Re: Re: Re: Re:
copy link to clipboard
Настроил, посмотрел. У меня все работает. Для кеширования картинок с img.combats.com(ru) и скроллов надо настроить следующее исключение
(.)*(img\.combats\.com|img\.combats\.ru|img3\.combats\.com|scrolls\.combats\.com)(.)*
вот как это должно окончательно выглядеть:
Click to open image http://img.scrolls.combats.com/ph/1184386452/src/JZQKIdeCVqLiEXZ2JD6dmQUy7Dc46Jt8NOLUTMJ8uzw.jpg in new window

PS домены "domain1\.info|domain2\.biz" я просто привел в качастве примера :)

PPS - следует отметить, что IE сам имеет свой собственный кеш, и часто картинки подгружаются из него, а не через связку IE+AK+HC
Post reply Ответить с цитированием
Bazelius Open user info Open user photogallery
10-09-09 @ 22:10
copy link to clipboard
Думаю у меня на работало потому что я не отключил старое правило +*img.combats* - думал можно новое создавать рядом со старым.

Мне эти примеры с доменами непонятны зачем - зачем(в смысле как они работают)?
Post reply Ответить с цитированием
Кей Лацитис Open user info Open user photogallery
10-09-09 @ 23:13
Re:
copy link to clipboard
старое правило нужно удалять - тут без вариантов.


Примеры привел, так как было влом описывать как пишется регэкспа для исключений. В принципе в ней нет ничего сложного:
(.)* -- обозначает любой набор символов
(xxxxxx|yyyyyyyy|zzzzzzzzz) -- это либо xxxxxx либо yyyyyyyy либо zzzzzzzzz
\. -- просто точка, так как знак "." в регэкспах означает любой символ

таким образом исключение строится как: сначала идет любой набор символов (.)* потом набор названий сайтов, для которых мы делаем исключение (img\.combats\.com|img\.combats\.ru|img3\.combats\.com|scrolls\.combats\.com), и в конце опять любой набор символов (.)* Таким образом, любая ссылка на искомые сайты этой регэкспой отловится. Например:
ссылка
http://scrolls.combats.com/i/avatar/small/021.jpg будет обрабатываться так:
http:// -- этот набор символов попадает во множество (.)*
scrolls.combats.com -- этот набор символов содержится в (img\.combats\.com|img\.combats\.ru|img3\.combats\.com|scrolls\.combats\.com)
/i/avatar/small/021.jpg -- а это снова (.)*
таким образом регэкспа целиком укладывается в ссылку, а значит данная ссылка будет исключена из правила Белого списка и уйдет на дальнейшую обработку.

Более подробно по регэкспам здесь http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F
Post reply Ответить с цитированием
This comment marked in URL link
Bazelius Open user info Open user photogallery
11-09-09 @ 02:58
copy link to clipboard
Только я спрашивал про то зачем нужна и как работает конкретно эта надпись "domain1\.info|domain2\.biz"
Post reply Ответить с цитированием
Гость БК
11-09-09 @ 11:17
Re:
copy link to clipboard
Цитата: Bazelius, 11.09.2009 @ 02:58
Только я спрашивал про то зачем нужна и как работает конкретно эта надпись "domain1\.info|domain2\.biz"
добавляет в список сайтов, которые надо кешировать два сайта: domain1.info и domain2.biz - я же не знал какие именно сайты ты хочешь кешировать, вот и привел эти два в качестве примера. Это только пример и не более того.
Post reply Ответить с цитированием
Bazelius Open user info Open user photogallery
11-09-09 @ 12:17
copy link to clipboard
Аааа я думал что это какая то подстановка типа com ru net ...
Post reply Ответить с цитированием

Post reply | Post reply with quote

Total disscussion threads: 1 Pages: 1
«« « 1 » »»


 
 © 2007–2025 «combats.com»
  18+  
feedback